package com.gpframework.module.ctn.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.gpframework.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @ClassName GpReceiptGoodsVo
 * @Author gpframework
 * @Date 2024-01-08
 * @Version 1.0.0
 * @Description 录入订单Vo对象
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
public class GpReceiptSackGoodsVo {
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @ApiModelProperty("${column.columnComment}")
    private Long id;

    /** 订单ID */
    @ApiModelProperty("订单ID")
    private Long receiptId;
    /** 供应商ID */
    @ApiModelProperty("供应商ID")
    private Long supplierId;

    /** 客户ID */
    @ApiModelProperty("客户ID")
    private Long customerId;

    /** 清关公司ID */
    @ApiModelProperty("清关公司ID")
    private Long agentCompanyId;

    /** 定货柜ID */
    @ApiModelProperty("定货柜ID")
    private Long ctnOrderId;

    /** 品牌id */
    @ApiModelProperty("品牌id")
    private Long brandId;

    /** 店铺id */
    @ApiModelProperty("店铺id")
    private Long storeId;


    /** 打包信息ID */
    @ApiModelProperty("打包信息ID")
    private Long packId;

    /** 装柜id */
    @ApiModelProperty("装柜id")
    private Long ctnLoadedId;

    /** 尼仓尼仓库放货id */
    @ApiModelProperty("尼仓尼仓库放货id")
    private Long nigeriaWarehouseReleaseId;

    /** 扣货国内放货id */
    @ApiModelProperty("扣货国内放货id")
    private Long holdGoodsChinaReleaseId;

    /**尼日利亚货柜到市场核对id */
    @ApiModelProperty("尼日利亚货柜到市场核对id")
    private Long nigeriaMarketCheckId;

    @ApiModelProperty("已被打包数量(总包数-减去打包次数)")
    private Integer alreadyPackagedNum;

    /** 品牌名称 */
    @ApiModelProperty("品牌名称")
    private String brandName;

    /** 店铺名称 */
    @ApiModelProperty("店铺名称")
    private String storeName;

    /** 进仓日期 */
    @Excel(name = "进仓日期", dateFormat = "yyyy/MM/dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date receiptDate;

    /** 进仓单号 */
    @Excel(name = "进仓单号")
    private String receiptNo;


    /** 供应商名称 */
    @Excel(name = "供应商")
    private String supplier;

    /** 供应商号码 */
    @Excel(name = "供应商号码")
    private String supplierTel;

    /** 客户名 */
    @Excel(name = "客户名")
    private String customer;

    /** 客户电话号码 */
    @Excel(name = "客户号码")
    private String customerTel;

    /** 货物描述 */
    @Excel(name = "货物描述")
    private String goodsDescription;

    /** 入仓件数 */
    @Excel(name = "入仓数量")
    private String warehousedNum;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 总箱数 */
    //@Excel(name = "总箱数")
    private String packTotal;

    /** 打包件数 */
    //@Excel(name = "打包数量")
    private String packagesNum;

    /** 方cbm */
    @Excel(name = "CBM")
    private String cbm;

    /** 包号 */
    //@Excel(name = "包号")
    private String packNo;


    /** 散货重量（KG） */
    @Excel(name = "散货重量")
    private BigDecimal sackWeight;



    /** 走柜日 */
    @Excel(name = "走柜日",  dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date loadedDate;


    /** 备注 */
    @Excel(name = "备注")
    private String remarks;




    /** 打包日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("打包日期")
    private Date packDate;

    /** 装柜录入日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("装柜录入日期")
    private Date ctnLoadTime;

    /** 打包编号 */
    @ApiModelProperty("打包编号")
    private String packNum;

    /** 放货客户 */
    @ApiModelProperty("放货客户")
    private String releaseCustomer;

    /** 放货客户电话 */
    @ApiModelProperty("放货客户电话")
    private String releaseCustomerTel;

    /** 扣货国内放货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("扣货国内放货日期")
    private Date chinaReleaseDate;

    /** 尼仓库放货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("尼仓库放货日期")
    private Date nigeriaReleaseDate;



    /** 装柜图片 */
    @ApiModelProperty("装柜图片")
    private String loadedPicturesList;


    /** 装柜视频 */
    @ApiModelProperty("装柜视频")
    private String loadedVideo;



    /** 数量 */
    @ApiModelProperty("数量")
    private String number;



    @ApiModelProperty("散货数量")
    private Integer sackNum;

    /** 清关公司名称 */
    @ApiModelProperty("清关公司名称")
    private String agentCompany;



    /** 打包仓库 */
    @ApiModelProperty("打包仓库")
    private Long packWareHouse;


    /** 打包件数 */
    @ApiModelProperty("打包件数")
    private Long packagingNum;

    /** 打包包数剩余数量 */
    @ApiModelProperty("打包包数剩余数量")
    private Long packagesRemainingNum;

    /** 打包包数 */
    @ApiModelProperty("打包包数")
    private Long packagesPackagingNum;


    /** 商标 */
    @ApiModelProperty("商标")
    private String tradeMark;





    /** 清关公司名称 */
    @ApiModelProperty("清关公司名称")
    private String agentName;



    /** 入仓仓库 */
    @ApiModelProperty("入仓仓库")
    private String warehouseName;



    /** 目的港 */
    @ApiModelProperty("目的港")
    private String destination;



    /** 是否扣货:0否 1是 */
    @ApiModelProperty("是否扣货:0否 1是")
    private String holdOrNot;

    /** 0打包、1散货、2待定 */
    @ApiModelProperty("0打包、1散货、2待定")
    private String compressOrSack;

    /** 已打包数 */
    @ApiModelProperty("已打包数")
    private Integer packagedNum;




    /** 操作人id */
    @ApiModelProperty("操作人id")
    private Long operatorId;

    /** 操作人 */
    @ApiModelProperty("操作人")
    private String operatorName;

    /** 排序 */
    @ApiModelProperty("排序")
    private Integer sort;

    /** 创建者 */
    @ApiModelProperty("创建者")
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间")
    private Date createTime;

    /** 更新者 */
    @ApiModelProperty("更新者")
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("更新时间")
    private Date updateTime;

    /** 打包信息详情 */
    @ApiModelProperty("打包信息详情")
    private List<GpPackagesInformationVo> gpPackagesInformationList;

    /** 未打包信息详情 */
    @ApiModelProperty("未打包信息详情")
    private List<GpPackagesInformationVo> ungpPackagesInformationList;



    /** 散货信息列表 */
    @ApiModelProperty("散货信息列表")
    private List<GpSackInformationVo> gpSackInformationList;

    /** 散货信息列表 */
    @ApiModelProperty("未装柜散货信息列表")
    private List<GpSackInformationVo> ungpSackInformationList;


    /** 装柜信息列表 */
    @ApiModelProperty("装柜信息列表")
    private List<GpCtnLoadedVo> loadedList;


    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("货柜到市场发送短信时间")
    private Date smsToMarketDate;

    @ApiModelProperty("装柜返回图片")
    private List<String> imageList;


    /** 清关公司电话 */
    @ApiModelProperty("清关公司电话")
    private String agentCompanyTel;





}
